# Importation des packages utiles
library('rgdal') # Lire et reprojeter les cartes
library('plotrix') # Créer des échelles de couleurs
library('classInt') # Affecter ces couleurs aux données
# Importation des fichiers shapefile
regions_avant <- readOGR(dsn="C:/Users/MlleBerthe/Documents/ANTSA/1 COURS/MSS/M2 MSS/Big Data/Open data/contours-des-regions-francaises-sur-openstreetmap", layer="contours-des-regions-francaises-sur-openstreetmap")
regions <- readOGR(dsn="C:/Users/MlleBerthe/Documents/ANTSA/1 COURS/MSS/M2 MSS/Big Data/Open data/nouvelles_regions", layer="nouvelles_regions")
# Lecture des limites départementales pour sélectionner les frontières
frontieres <- readOGR(dsn="C:/Users/MlleBerthe/Documents/ANTSA/1 COURS/MSS/M2 MSS/Big Data/Open data/GEOFLA_2-2_DEPARTEMENT_SHP_LAMB93_FXX_2016-06-28/GEOFLA/1_DONNEES_LIVRAISON_2016-06-00235/GEOFLA_2-2_SHP_LAMB93_FR-ED161/DEPARTEMENT", layer="LIMITE_DEPARTEMENT")
frontieres <- frontieres[frontieres$NATURE %in% c('Frontière internationale','Limite côtière'),]
# Lecture des pays et sélection de l'Europe
europe <- readOGR(dsn="C:/Users/MlleBerthe/Documents/ANTSA/1 COURS/MSS/M2 MSS/Big Data/Open data/ne_10m_admin_0_countries", layer="ne_10m_admin_0_countries")
europe <- europe[europe$REGION_UN=="Europe",]
# On sélectionne uniquement la France métropolitaine
regions_avant <- regions_avant[regions_avant$nom!="La Réunion",]
regions_avant <- regions_avant[regions_avant$nom!="Guyane",]
regions_avant <- regions_avant[regions_avant$nom!="Mayotte",]
regions_avant <- regions_avant[regions_avant$nom!="Guadeloupe",]
regions_avant <- regions_avant[regions_avant$nom!="Martinique",]
# Projection en Lambert 93
europe <- spTransform(europe, CRS("+init=epsg:2154"))
regions_avant <- spTransform(regions_avant, CRS("+init=epsg:2154"))
Mise en forme des données à dessiner : il faut fusionner le tableau de données que l’on veut représenter avec le fichier shapefile que l’on veut colorer (les régions dans le cas ci-présent).
# On importe le tableau que nous avons créé au préalable
data_demandeurs_pop <- read.csv("a.csv")
# On retire la population totale
data_demandeurs_pop <- data_demandeurs_pop[-6,]
# Création de la variable "code_supra" qui sera la variable sur laquelle on effectuera le merge
data_demandeurs_pop$code_supra <- c("82","26","53","24","94","31","22","11","23","72","74","52","93")
# On fusionne les données
regions <- merge(regions, data_demandeurs_pop, by.y='code_supra')
On crée la carte de la France
# Carte de la population
# On colorie la carte
col_pop <- findColours(classIntervals(
regions@data$population, 5, style="quantile"),
smoothColors("#d0db34",5,"#4aaa2f"))
# On ajoute une légende
leg_pop <- findColours(classIntervals(
regions@data$population, 5, style="quantile"),
smoothColors("#d0db34",5,"#4aaa2f"),
under="moins de", over="plus de", between="–",
cutlabels=FALSE)
# On dessine la carte
plot(frontieres, col="#FFFFFF") # Premier plot
plot(europe, col="#E6E6E6", border="#AAAAAA",lwd=1, add=TRUE) # On dessine l'Europe
plot(frontieres, col="#D8D6D4", lwd=6, add=TRUE) # On rajoute la frontière de la France
plot(regions,col=col_pop, border="#CCCCCC",lwd=.7, add=TRUE) # Les nouvelles régions colorées
plot(regions_avant, border="#CCCCCC", lwd=.3, add=TRUE) # Frontières des anciennes régions
plot(regions,border="#FFFFFF",lwd=2, add=TRUE) # Frontières des nouvelles régions en gras
# Légende de la carte
legend("topleft",fill=attr(leg_pop, "palette"),
legend=names(attr(leg_pop,"table")), cex = 0.45, pt.cex = 1,
title = "Population")
title("Population française en 2016\n par grande région")